package cn.gxa.j229.bug.finance.controller.content;

import cn.gxa.j229.bug.finance.pojo.Ad;
import cn.gxa.j229.bug.finance.pojo.Essay;
import cn.gxa.j229.bug.finance.service.contant.EssayService;
import cn.gxa.j229.bug.finance.utils.JsonResult;
import cn.gxa.j229.bug.finance.utils.PageUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 * @author Jun
 * @version 1.0
 * @date 2020/9/21 15:01
 */

@Controller
@RequestMapping("/essay")
@CrossOrigin
public class EssayController {

    @Resource
    EssayService essayService;

    //添加
    @PostMapping("/add")
    @ResponseBody
    public Map add(@RequestBody Essay essay){
        essayService.insert(essay);
        System.out.println(essay);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("添加成功");
        jsonResult.setData(essay);
        return jsonResult.getValues();
    }

    //根据标题查询
    @PostMapping("/findByTitle")
    @ResponseBody
    public Map selectByTitle(@RequestBody Essay essay){
        List<Map<String,Object>> list =essayService.selectByTitle(essay.getTitle());
        System.out.println(list);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("查询题目带有" +essay.getTitle()+"的成功");
        jsonResult.setData(list);
        return jsonResult.getValues();
    }
    //根据id查询
    @PostMapping("/findById")
    @ResponseBody
    public Map findById(@RequestBody Essay essay){
        List<Map<String,Object>> list =essayService.selectById(essay.getId());
        System.out.println(list);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("查询id为" +essay.getId()+"的成功");
        jsonResult.setData(list);
        return jsonResult.getValues();
    }

    //根据状态查询
    @PostMapping("/findByState")
    @ResponseBody
    public Map selectByState(@RequestBody Essay essay){
        List<Map<String,Object>> list =essayService.selectByState(essay.getState());
        System.out.println(list);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("查询状态为" +essay.getState()+"的成功");
        jsonResult.setData(list);
        return jsonResult.getValues();
    }

    //根据分类查询
    @PostMapping("/findByType")
    @ResponseBody
    public Map findByPosition(@RequestBody Essay essay){
        List<Map<String,Object>> list =essayService.selectByType(essay.getType());
        System.out.println(list);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("查询分类为" + essay.getType() +"的成功");
        jsonResult.setData(list);
        return jsonResult.getValues();

    }

    //分页查询
    @PostMapping("/findByPage")
    @ResponseBody
    public Map findByPage(@RequestBody Essay essay){
        List<Map<String,Object>> list =essayService.selectEssayByPage(essay);
        int counts = essayService.selectByPageCount(essay);
        System.out.println(list);
        JsonResult jsonResult = new JsonResult();
        jsonResult.put("count",counts);
        jsonResult.setCode("200");
        jsonResult.setMsg("分页查询");
        jsonResult.setData(list);
        return jsonResult.getValues();
    }

    //根据省份查询
    @PostMapping("/findAllType")
    @ResponseBody
    public Map findAllType(){
        List<Map<String,Object>> list =essayService.selectAllType();
        System.out.println(list);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("查询全部分类为：" + essayService.selectAllType() + "的成功");
        jsonResult.setData(list);
        return jsonResult.getValues();
    }

    //查询总记录数
    @PostMapping("/findCount")
    @ResponseBody
    public Map findCount(){
        List<Map<String,Object>> count =essayService.selectCount();
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setData("总记录数为:" + count);
        jsonResult.setMsg("成功");
        return jsonResult.getValues();

    }

    //修改
    @PostMapping("/update")
    @ResponseBody
    public Map update(@RequestBody Essay essay){

        int update =essayService.update(essay);
        System.out.println(essay);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("修改了" + update + "行");
        jsonResult.setData(essay);
        return jsonResult.getValues();

    }
    //删除
    @PostMapping("/delete")
    @ResponseBody
    public Map delete(@RequestBody Essay essay){
        essayService.delete(essay.getId());
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setMsg("删除成功");
        jsonResult.setData("");
        return jsonResult.getValues();
    }

}
